package day10;

//题目链接：https://www.nowcoder.com/practice/cc1a9bc523a24716a117b438a1dc5706
public class 过河卒 {
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            int n=in.nextInt();
            int m=in.nextInt();
            int x=in.nextInt();
            int y=in.nextInt();
            //新增1行，新增1列，原[0,0]->[n][m] ->n+1行,m+1列 ->n+2行，m+2列（新增的）
            long[][] dp=new long[n+2][m+2];
            //新增一行，一列只要将dp[0][1]或dp[1][0]改为1即可避免讨论边界，
            //比单独处理边界简单很多；
            dp[0][1]=1;
            for(int i=1;i<=n+1;i++){
                for(int j=1;j<=m+1;j++){
                	//注意本题标记的条件： ==3&&x..&&y..
                    if((i==x+1&&j==y+1)||(i!=x+1&&j!=y+1&&Math.abs(i-(x+1))+Math.abs(j-(y+1))==3)){
                        dp[i][j]=0;
                    }
                    else{
                        dp[i][j]=dp[i][j-1]+dp[i-1][j];
                    }
                }
            }
            System.out.println(dp[n+1][m+1]);
        }
    }
}
